SurgeMac的DNS模块有点困惑(增强模式下)

您所在的位置:网站首页 surge 搭配 SurgeMac的DNS模块有点困惑(增强模式下)

SurgeMac的DNS模块有点困惑(增强模式下)

2023-04-07 18:21| 来源: 网络整理| 查看: 265

SurgeTeam

这个白皮书我已经看了很多遍了, 其对虚拟网卡的描述是: 为解决这个问题,Surge 的 VIF 在收到一个 DNS 查询时,并不会进行真正的 DNS 查询,而是直接返回一个 Fake IP 地址(通常为 198.18.x.x,该地址段并不会在公网上被使用)。后续收到发往 Fake IP 的 TCP 或 UDP 数据包时,将该虚假 IP 翻译回原始域名进行后续处理。

这里只说了VIF收到DNS查询, 但是并没有解释VIF是如何判定收到DNS查询的, 是通过解析udp流量分析, 还是通过修改系统DNS为一个特殊IP然后根据IP进行判定.

白皮书中的DNS章节也没有对这个问题有任何描述.

我实际测试的结果是, 在开启增强模式之后, 系统的DNS会被修改为一个特殊IP(198.18.0.2), 如果我手动将其恢复成系统默认, 则surge的FakeIP机制会失效(nslookup测试). 所以看起来似乎surge是通过修改系统DNS设置来实现截获DNS请求的, 并非直接通过VIF来截获DNS请求, 这是为何呢?

这导致我遇到一些问题: 1: 系统设置中的那个surge的DNS有时候又会变会系统默认的, 过一会又会变成surge的那个IP. 特别是在surge中修改了DNS设置的时候, 但是什么时候变什么时候变没有明确的规则, 也就是不透明. 导致我在测试, 研究, 调试网络的时候, 要时刻关注系统设置中的DNS目前是什么情况, 要反复去核对检查, 很麻烦.

2: 有一些三方的DNS软件也会对系统DNS设置进行修改, 导致不能和surge一起运行, 或者说会和surge冲突, 干扰surge的FakeIP机制.

3: 在surge开启的时候, 如果我想变更上游的DNS服务器的话, 要么我在系统设置中去修改, 但是这样会干扰surge的FakeIP. 要么在surge中去配置, 但是只能对surge有效, 如果我退出surge的话, 系统设置里还要去重新改一次, 很麻烦.

我的需求: 1: 希望surge不要修改系统设置中的DNS, 而是直接用VIF截获处理DNS请求, 并且默认使用系统配置的DNS作为上游解析. 2: 希望能增加一个开关可以选择是否启用surge的DNS模块, 关闭的话则让系统本身的DNS服务自己解析.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3